/**
 * \file config.h
 * \brief Configurações
 */
# ifndef CONFIG_IO_DEF
# define CONFIG_IO_DEF

# include <stdio.h>
# include "../../logs/logSystem.h"
# include "../../../util/lists/linked-list.h"

# define EQUAL_CHAR '='
# define MAXTAM 300

typedef struct {
	char *name;
	char *value;
} Configuration;

/**
 * \brief ler as configurações
 * \param fp ficheiros
 * \return lista de configurações
 */
LinkedList * readConfiguration (FILE *fp);

/**
 * \brief escreve as configurações
 * \param list lista de configs
 * \param fp Ficheiro
 * \return 0 se nao conseguir 1 se conseguir
 */
int writeConfiguration (LinkedList *list, FILE *fp);
/**
 * \brief cria uma nova configuração
 * \param name nome
 * \param value valor
 */
Configuration * newConfiguration (const char *name, const char *value);
/**
 * \brief liberda a estrutura
 */
void freeConfiguration (Configuration *conf);
void freeConfigurations (LinkedList *lst);
# endif
